package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 yg
 *
 * @author ruoyi
 * @date 2025-04-25
 */
public class Yg extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 员工ID */
    @TableId(type = IdType.AUTO)
    private Long ygId;

    /** 职位ID */
    @Excel(name = "职位ID")
    private Long qdkbId;

    /** PM */
    @Excel(name = "PM")
    private Long pmId;

    /** TL */
    @Excel(name = "TL")
    private Long tlId;

    /** 顾问ID */
    @Excel(name = "顾问ID")
    private Long userId;

    /** 简历ID */
    @Excel(name = "简历ID")
    private Long jlId;

    /** 员工编号 */
    @Excel(name = "员工编号")
    private String ygNo;



    /** 状态1 */
    @Excel(name = "状态1")
    private String statusOne;

    /** 状态2 */
    @Excel(name = "状态2")
    private String statusTwo;

    /** 状态3 */
    @Excel(name = "状态3")
    private String statusThree;

    /** 返费状态 */
    @Excel(name = "返费状态")
    private String backStatus;

    /** 累计返费金额 */
    @Excel(name = "累计返费金额")
    private BigDecimal backMoney;

    /** 原因 */
    @Excel(name = "原因")
    private String reason;

    /** 提现 */
    @Excel(name = "提现")
    private String withdrawalStatus;

    /** 面试时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "面试时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date interviewTime;

    /** 到面时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到面时间" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date arrivalTime;

    /** 预计入职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计入职时间" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date offerTime;

    /** 实际入职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际入职时间" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryTime;

    /** 离职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离职时间" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date resignationTime;

    /** 淘汰时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "淘汰时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date eliminationTime;

    public void setYgId(Long ygId) {
        this.ygId = ygId;
    }

    public Long getYgId() {
        return ygId;
    }
    public void setQdkbId(Long qdkbId) {
        this.qdkbId = qdkbId;
    }

    public Long getQdkbId() {
        return qdkbId;
    }
    public void setPmId(Long pmId) {
        this.pmId = pmId;
    }

    public Long getPmId() {
        return pmId;
    }
    public void setTlId(Long tlId) {
        this.tlId = tlId;
    }

    public Long getTlId() {
        return tlId;
    }
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }
    public void setJlId(Long jlId) {
        this.jlId = jlId;
    }

    public Long getJlId() {
        return jlId;
    }
    public void setYgNo(String ygNo) {
        this.ygNo = ygNo;
    }

    public String getYgNo() {
        return ygNo;
    }



    public void setStatusOne(String statusOne) {
        this.statusOne = statusOne;
    }

    public String getStatusOne() {
        return statusOne;
    }
    public void setStatusTwo(String statusTwo) {
        this.statusTwo = statusTwo;
    }

    public String getStatusTwo() {
        return statusTwo;
    }
    public void setStatusThree(String statusThree) {
        this.statusThree = statusThree;
    }

    public String getStatusThree() {
        return statusThree;
    }
    public void setBackStatus(String backStatus) {
        this.backStatus = backStatus;
    }

    public String getBackStatus() {
        return backStatus;
    }
    public void setBackMoney(BigDecimal backMoney) {
        this.backMoney = backMoney;
    }

    public BigDecimal getBackMoney() {
        return backMoney;
    }
    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getReason() {
        return reason;
    }
    public void setWithdrawalStatus(String withdrawalStatus) {
        this.withdrawalStatus = withdrawalStatus;
    }

    public String getWithdrawalStatus() {
        return withdrawalStatus;
    }
    public void setInterviewTime(Date interviewTime) {
        this.interviewTime = interviewTime;
    }

    public Date getInterviewTime() {
        return interviewTime;
    }
    public void setArrivalTime(Date arrivalTime) {
        this.arrivalTime = arrivalTime;
    }

    public Date getArrivalTime() {
        return arrivalTime;
    }
    public void setOfferTime(Date offerTime) {
        this.offerTime = offerTime;
    }

    public Date getOfferTime() {
        return offerTime;
    }
    public void setEntryTime(Date entryTime) {
        this.entryTime = entryTime;
    }

    public Date getEntryTime() {
        return entryTime;
    }
    public void setResignationTime(Date resignationTime) {
        this.resignationTime = resignationTime;
    }

    public Date getResignationTime() {
        return resignationTime;
    }
    public void setEliminationTime(Date eliminationTime) {
        this.eliminationTime = eliminationTime;
    }

    public Date getEliminationTime() {
        return eliminationTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("ygId" , getYgId())
                .append("qdkbId" , getQdkbId())
                .append("pmId" , getPmId())
                .append("tlId" , getTlId())
                .append("userId" , getUserId())
                .append("jlId" , getJlId())
                .append("ygNo" , getYgNo())

                .append("statusOne" , getStatusOne())
                .append("statusTwo" , getStatusTwo())
                .append("statusThree" , getStatusThree())
                .append("backStatus" , getBackStatus())
                .append("backMoney" , getBackMoney())
                .append("reason" , getReason())
                .append("withdrawalStatus" , getWithdrawalStatus())
                .append("interviewTime" , getInterviewTime())
                .append("arrivalTime" , getArrivalTime())
                .append("offerTime" , getOfferTime())
                .append("entryTime" , getEntryTime())
                .append("resignationTime" , getResignationTime())
                .append("eliminationTime" , getEliminationTime())
                .append("updateTime" , getUpdateTime())
                .append("createTime" , getCreateTime())
                .toString();
    }
}
